﻿<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Usuario
 *
 * @author Escritorio-01
 */
class UsuarioDao {

    function insert(Usuario $usuario) {
        try {
            $con = Conexao::conectar();
            $sql = 'INSERT INTO usuario(nome, email, senha, salt) VALUES(:NOME, :EMAIL, :SENHA, :SALT);';
            $stmt = $con->prepare($sql);
            if ($stmt->execute(array(':NOME' => $usuario->getNome(),
                        ':EMAIL' => $usuario->getEmail(),
                        ':SENHA' => $usuario->getSenha(),
                        ':SALT' => $usuario->getSalt())))
                ;
            return $stmt->rowCount();
        } catch (Exception $e) {
            
        }
    }
    function replace(Usuario $usuario) {
        try {
            $con = Conexao::conectar();
            $sql = 'REPLACE INTO usuario(id, nome, email) VALUES(:ID, :NOME, :EMAIL);';
            $stmt = $con->prepare($sql);
            if ($stmt->execute(array(':ID' => $usuario->getId(),
                        ':NOME' => $usuario->getNome(),
                        ':EMAIL' => $usuario->getEmail())))
                ;
            return $stmt->rowCount();
        } catch (Exception $e) {
            
        }
    }
    function updateNomeEmail(Usuario $usuario) {
        try {
            $con = Conexao::conectar();
            $sql = 'UPDATE usuario SET nome=:NOME, email=:EMAIL WHERE id=:ID';
            $stmt = $con->prepare($sql);
            if ($stmt->execute(array(':ID' => $usuario->getId(),
                        ':NOME' => $usuario->getNome(),
                        ':EMAIL' => $usuario->getEmail())))
                ;
            return $stmt->rowCount();
        } catch (Exception $e) {
            
        }
    }
    function updateSenha(Usuario $usuario) {
        try {
            $con = Conexao::conectar();
            $sql = 'UPDATE usuario SET senha=:SENHA WHERE id=:ID';
            $stmt = $con->prepare($sql);
            if ($stmt->execute(array(':ID' => $usuario->getId(),
                        ':SENHA' => $usuario->getSenha())))
                ;
            return $stmt->rowCount();
        } catch (Exception $e) {
            
        }
    }

    function del(Usuario $usuario) {
        try {
            $con = Conexao::conectar();
            $sql = 'DELETE FROM usuario WHERE id=:ID';
            $stmt = $con->prepare($sql);
            if ($stmt->execute(array(':ID' => $usuario->getId())))
                ;
            return true;
        } catch (Exception $e) {
            
        }
    }

    function select() {
        try {
            $con = Conexao::conectar();
            $sql = 'SELECT * FROM usuario';
            $stmt = $con->prepare($sql);
            if ($stmt->execute())
                ;
            return $stmt;
            //return $stmt->columnCount();
            //return $stmt->fetchAll();
        } catch (Exception $e) {
            
        }
    }
    function login(Usuario $usuario) {
        try {
            $con = Conexao::conectar();
            $sql = 'SELECT * FROM usuario WHERE email=:EMAIL AND senha=:SENHA';
            $stmt = $con->prepare($sql);
            if ($stmt->execute(array(':EMAIL' => $usuario->getEmail(),
                ':SENHA'=> $usuario->getSenha())))
                ;
            return $stmt->fetchObject();
            //return $stmt->columnCount();
            //return $stmt->fetchAll();
        } catch (Exception $e) {
            
        }
    }

    function get(Usuario $usuario) {
        try {
            $con = Conexao::conectar();
            $sql = 'SELECT * FROM usuario WHERE id=:ID;';
            $stmt = $con->prepare($sql);
            if ($stmt->execute(array(':ID'=>$usuario->getId())));
                ;
            return $stmt->fetchObject();
        } catch (Exception $e) {
            
        }
    }

}

?>
